#include "comm.hpp"
// int main()
// {
//     umask(0);
//     //新建管道
//     int n=mkfifo(FIFO_FILE,0666);//运行时先运行这一个，因为要创建管道
//     if(n!=0)
//     {
//         std::cerr<< "mkfifo error"<<std::endl;
//         return 1;
//     }
//     std::cout<<"make fifo success"<<std::endl;

//     //打开
//     //write方没有执行open的时候，read方就要在open内部阻塞
//     //直到有人把管道文件打开了，open才会返回
//     //这也就是为什么虽然我们创建管道文件成功了，但是后面没有打印open fifo success的原因
//     int fd=open(FIFO_FILE,O_RDONLY);
//     if(fd<0)
//     {
//         std::cerr<< "open fifo error"<<std::endl;
//         return 2;
//     }
//     std::cout<<"open fifo success"<<std::endl;

//     //读
//     char buffer[1024];
//     while (true)
//     {
//         int num=read(fd,buffer,sizeof(buffer)-1);
//         if(num>0)
//         {
//             buffer[num]=0;
//             std::cout<<"client say:"<<buffer<<std::endl;
//         }
//         else if(num==0)
//         {
//             std::cout<<"if client quit,server quit too"<<std::endl;
//             break;
//         }
//         else
//         {
//             std::cout<<"read error"<<std::endl;
//             break;
//         }
//     }
//     close(fd);

//     //删除命名管道
//     n = unlink(FIFO_FILE);
//     if(n == 0)
//     {
//         std::cout<<"remove fifo success"<<std::endl;
//     }
//     else
//     {
//         std::cout<<"remove fifo failed"<<std::endl;
//     }

//     return 0;
// }

int main()
{
    // 创建一个类来实现
    NamedFifo fifo(PATH, FILENAME);
    //下面进行文件操作
    FileOper readfile(PATH,FILENAME);
    readfile.OpenForRead();
    readfile.Read();
    readfile.Close();
    return 0;
}